${BASH_SOURCE:-$0}
$BASH_SOURCEは、実行時のコマンド名
$0は、実行時のコマンド名
つまり同じものを表す
が、shellの実行方式や種類によって異なる ref
なんで異なるのかをちゃんと理解していない #??
:-はShell Parameter Expansion#60bceded1982700000630173を参照
よって、${BASH_SOURCE:-$0}は
$BASH_SOURCEが
値が入っているなら、$BASH_SOURCE
未定義かnullなら、$0
を返す
ここでみた